package utils

import "context"

// 使用自定义类型作为 context key，避免与其他包发生键冲突
type ctxKey int

const (
	CtxKeyUserID   ctxKey = iota // 用户ID
	CtxKeyNickname               // 昵称
	CtxKeyTenantID               // 租户ID
)

// 从上下文中获取用户信息
func GetUserIDFromContext(ctx context.Context) string {
	if userID, ok := ctx.Value(CtxKeyUserID).(string); ok {
		return userID
	}
	return ""
}
func GetNicknameFromContext(ctx context.Context) string {
	if nickname, ok := ctx.Value(CtxKeyNickname).(string); ok {
		return nickname
	}
	return ""
}
func GetTenantIDFromContext(ctx context.Context) string {
	if tenantID, ok := ctx.Value(CtxKeyTenantID).(string); ok {
		return tenantID
	}
	return ""
}
